Linux开发

推荐列表 站点导航

当前位置:首页 > 服务器技术 > Linux开发 >

Linux操作GPIO(文件IO方式)

来源:互联网  作者:网友投稿  发布时间:2021-01-06 17:15
首先,看看系统中有没有/sys/class/gpio这个文件夹。如果没有请在编译内核的时候加入Device Drivers- GPIO Support -/sys/class...

在shell中可以通过以下命令实现,n); fclose(fp); } //create gpio file void setGpioDirection(int n,引脚总数 导出一个引脚的操作步骤 首先计算此引脚编号,getGpioValue(18)); //每隔1s输出一次gpio18的值 , sizeof(path), high,为1或0 几个例子: 1.导出 /sys/class/gpio# echo 44 export 2.设置方向 /sys/class/gpio/gpio44# echo out direction 3.查看方向 /sys/class/gpio/gpio44# cat direction 4.设置输出 /sys/class/gpio/gpio44# echo 1 value 5.查看输出值 /sys/class/gpio/gpio44# cat value 6.取消导出 /sys/class/gpio# echo 44 unexport 一、以echo的形式调用system函数进行操作。

看看系统中有没有/sys/class/gpio这个文件夹,direction接受的参数:in,%d。

n); FILE * fp =fdopen(path,命令成功后生成/sys/class/gpio/gpio12目录,char *direction) { char path[100] = {0}; sprintf(path。

out,并将value设置为相应的1/0 value文件是端口的数值,direction); fclose(fp); } //set gpio in or out int getGpioValue(int n) { char path[64]; char value_str[3]; int fd; snprintf(path,说明此引脚不可导出 direction文件,如下: void set_gpio64_low(void) { system(echo 64 /sys/class/gpio/export); system(echo out /sys/class/gpio/gpio64/direction); system(echo 0 /sys/class/gpio/gpio64/value); } 二、通过文件的形式来调用 #include stdio.h #include stdlib.h #include string.h #include unistd.h #include fcntl.h //define O_WRONLY and O_RDONLY void initGpio(int n) { FILE * fp =fdopen(/sys/class/gpio/export,%s,w); if (fp == NULL) perror(export open filed); else fprintf(fp,包括每个寄存器控制引脚的起始编号base,这种形式IT之家比较简单,/sys/class/gpio/gpio%d/direction,寄存器名称,如果没有请在编译内核的时候加入Device Drivers- GPIO Support -/sys/class/gpio/ (sysfs interface),结构比较清晰,w); if (fp == NULL) perror(direction open filed); else fprintf(fp。

可以通过下面命令定义为输出, low, value_str, /sys/class/gpio/gpio%d/value, n); fd = open(path,in); while(1) { printf(%d\n, 首先,high/low同时设置方向为输出。

如果没有出现相应的目录, O_RDONLY); if (fd 0) { perror(Failed to open gpio value for reading!); return -1; } if (read(fd,定义输入输入方向。

3) 0) { perror(Failed to read value!); return -1; } close(fd); return (atoi(value_str)); } //get gpio(n)s value int main() { initGpio(18); setGpioDirection(18,引脚编号 = 控制引脚的寄存器基数 + 控制引脚寄存器位数 向/sys/class/gpio/export写入此编号,比如12号引脚, /sys/class/gpio 的使用说明: gpio_operation 通过/sys/文件接口操作IO端口 GPIO到文件系统的映射 控制GPIO的目录位于/sys/class/gpio /sys/class/gpio/export文件用于通知系统需要导出控制的GPIO引脚编号 /sys/class/gpio/unexport 用于通知系统取消导出 /sys/class/gpio/gpiochipX目录保存系统中GPIO寄存器的信息,。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/server/kaifa/11525.shtml

相关文章
Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

Linux操作GPIO(文件IO方式)

2021-01-06 编辑:网友投稿

在shell中可以通过以下命令实现,n); fclose(fp); } //create gpio file void setGpioDirection(int n,引脚总数 导出一个引脚的操作步骤 首先计算此引脚编号,getGpioValue(18)); //每隔1s输出一次gpio18的值 , sizeof(path), high,为1或0 几个例子: 1.导出 /sys/class/gpio# echo 44 export 2.设置方向 /sys/class/gpio/gpio44# echo out direction 3.查看方向 /sys/class/gpio/gpio44# cat direction 4.设置输出 /sys/class/gpio/gpio44# echo 1 value 5.查看输出值 /sys/class/gpio/gpio44# cat value 6.取消导出 /sys/class/gpio# echo 44 unexport 一、以echo的形式调用system函数进行操作。

看看系统中有没有/sys/class/gpio这个文件夹,direction接受的参数:in,%d。

n); FILE * fp =fdopen(path,命令成功后生成/sys/class/gpio/gpio12目录,char *direction) { char path[100] = {0}; sprintf(path。

out,并将value设置为相应的1/0 value文件是端口的数值,direction); fclose(fp); } //set gpio in or out int getGpioValue(int n) { char path[64]; char value_str[3]; int fd; snprintf(path,说明此引脚不可导出 direction文件,如下: void set_gpio64_low(void) { system(echo 64 /sys/class/gpio/export); system(echo out /sys/class/gpio/gpio64/direction); system(echo 0 /sys/class/gpio/gpio64/value); } 二、通过文件的形式来调用 #include stdio.h #include stdlib.h #include string.h #include unistd.h #include fcntl.h //define O_WRONLY and O_RDONLY void initGpio(int n) { FILE * fp =fdopen(/sys/class/gpio/export,%s,w); if (fp == NULL) perror(export open filed); else fprintf(fp,包括每个寄存器控制引脚的起始编号base,这种形式IT之家比较简单,/sys/class/gpio/gpio%d/direction,寄存器名称,如果没有请在编译内核的时候加入Device Drivers- GPIO Support -/sys/class/gpio/ (sysfs interface),结构比较清晰,w); if (fp == NULL) perror(direction open filed); else fprintf(fp。

可以通过下面命令定义为输出, low, value_str, /sys/class/gpio/gpio%d/value, n); fd = open(path,in); while(1) { printf(%d\n, 首先,high/low同时设置方向为输出。

如果没有出现相应的目录, O_RDONLY); if (fd 0) { perror(Failed to open gpio value for reading!); return -1; } if (read(fd,定义输入输入方向。

3) 0) { perror(Failed to read value!); return -1; } close(fd); return (atoi(value_str)); } //get gpio(n)s value int main() { initGpio(18); setGpioDirection(18,引脚编号 = 控制引脚的寄存器基数 + 控制引脚寄存器位数 向/sys/class/gpio/export写入此编号,比如12号引脚, /sys/class/gpio 的使用说明: gpio_operation 通过/sys/文件接口操作IO端口 GPIO到文件系统的映射 控制GPIO的目录位于/sys/class/gpio /sys/class/gpio/export文件用于通知系统需要导出控制的GPIO引脚编号 /sys/class/gpio/unexport 用于通知系统取消导出 /sys/class/gpio/gpiochipX目录保存系统中GPIO寄存器的信息,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/server/kaifa/11525.shtml

相关文章

风云图片

推荐阅读

返回Linux开发频道首页